package com.asp.aspchain.admin.entity;

import javax.persistence.*;
import java.math.BigInteger;
import java.util.Date;

@Table(name = "t_abc_mgr_contract")
public class MgrContract {
    @Id
    private Integer cid;

    /**
     * 合约地址
     */
    private String contractid;

    /**
     * 创建时间
     */
    private Date createtime;

    /**
     * 更新时间
     */
    private Date updatetime;

    /**
     * 合约名称
     */
    private String contracttitle;

    /**
     * 合约描述
     */
    private String descriptor;

    /**
     * 初始化供应token 单位GWei 1Gwei=1，000,000,000Wei
     */
    private BigInteger initsupply;

    /**
     * sxt（碎星TOKEN） hzt(黑转TOKEN）
     */
    private String tokentype;

    /**
     * 0-18(位数)
     */
    private Integer decimalnum;

    /**
     * 操作人名字
     */
    private String operator;

    /**
     * 操作人时间
     */
    private Date operatortime;

    /**
     * Abi的地址
     */
    private String abi;

    /**
     * 部署目录
     */
    private String deploydir;

    /**
     * 01 部署 03 升级 05 卸载
     */
    private String status;

    /**
     * web3j生成的Java文件类名
     */
    private String classname;

    /**
     * 智能合约拥有者的账户keystore文件路径
     */
    private String credentialspath;

    /**
     * @return cid
     */
    public Integer getCid() {
        return cid;
    }

    /**
     * @param cid
     */
    public void setCid(Integer cid) {
        this.cid = cid;
    }

    /**
     * 获取合约地址
     *
     * @return contractid - 合约地址
     */
    public String getContractid() {
        return contractid;
    }

    /**
     * 设置合约地址
     *
     * @param contractid 合约地址
     */
    public void setContractid(String contractid) {
        this.contractid = contractid;
    }

    /**
     * 获取创建时间
     *
     * @return createtime - 创建时间
     */
    public Date getCreatetime() {
        return createtime;
    }

    /**
     * 设置创建时间
     *
     * @param createtime 创建时间
     */
    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }

    /**
     * 获取更新时间
     *
     * @return updatetime - 更新时间
     */
    public Date getUpdatetime() {
        return updatetime;
    }

    /**
     * 设置更新时间
     *
     * @param updatetime 更新时间
     */
    public void setUpdatetime(Date updatetime) {
        this.updatetime = updatetime;
    }

    /**
     * 获取合约名称
     *
     * @return contracttitle - 合约名称
     */
    public String getContracttitle() {
        return contracttitle;
    }

    /**
     * 设置合约名称
     *
     * @param contracttitle 合约名称
     */
    public void setContracttitle(String contracttitle) {
        this.contracttitle = contracttitle;
    }

    /**
     * 获取合约描述
     *
     * @return descriptor - 合约描述
     */
    public String getDescriptor() {
        return descriptor;
    }

    /**
     * 设置合约描述
     *
     * @param descriptor 合约描述
     */
    public void setDescriptor(String descriptor) {
        this.descriptor = descriptor;
    }

    /**
     * 获取初始化供应token 单位GWei 1Gwei=1，000,000,000Wei
     *
     * @return initsupply - 初始化供应token 单位GWei 1Gwei=1，000,000,000Wei
     */
    public BigInteger getInitsupply() {
        return initsupply;
    }

    /**
     * 设置初始化供应token 单位GWei 1Gwei=1，000,000,000Wei
     *
     * @param initsupply 初始化供应token 单位GWei 1Gwei=1，000,000,000Wei
     */
    public void setInitsupply(BigInteger initsupply) {
        this.initsupply = initsupply;
    }

    /**
     * 获取sxt（碎星TOKEN） hzt(黑转TOKEN）
     *
     * @return tokentype - sxt（碎星TOKEN） hzt(黑转TOKEN）
     */
    public String getTokentype() {
        return tokentype;
    }

    /**
     * 设置sxt（碎星TOKEN） hzt(黑转TOKEN）
     *
     * @param tokentype sxt（碎星TOKEN） hzt(黑转TOKEN）
     */
    public void setTokentype(String tokentype) {
        this.tokentype = tokentype;
    }

    /**
     * 获取0-18(位数)
     *
     * @return decimalnum - 0-18(位数)
     */
    public Integer getDecimalnum() {
        return decimalnum;
    }

    /**
     * 设置0-18(位数)
     *
     * @param decimalnum 0-18(位数)
     */
    public void setDecimalnum(Integer decimalnum) {
        this.decimalnum = decimalnum;
    }

    /**
     * 获取操作人名字
     *
     * @return operator - 操作人名字
     */
    public String getOperator() {
        return operator;
    }

    /**
     * 设置操作人名字
     *
     * @param operator 操作人名字
     */
    public void setOperator(String operator) {
        this.operator = operator;
    }

    /**
     * 获取操作人时间
     *
     * @return operatortime - 操作人时间
     */
    public Date getOperatortime() {
        return operatortime;
    }

    /**
     * 设置操作人时间
     *
     * @param operatortime 操作人时间
     */
    public void setOperatortime(Date operatortime) {
        this.operatortime = operatortime;
    }

    /**
     * 获取Abi的地址
     *
     * @return abi - Abi的地址
     */
    public String getAbi() {
        return abi;
    }

    /**
     * 设置Abi的地址
     *
     * @param abi Abi的地址
     */
    public void setAbi(String abi) {
        this.abi = abi;
    }

    /**
     * 获取部署目录
     *
     * @return deploydir - 部署目录
     */
    public String getDeploydir() {
        return deploydir;
    }

    /**
     * 设置部署目录
     *
     * @param deploydir 部署目录
     */
    public void setDeploydir(String deploydir) {
        this.deploydir = deploydir;
    }

    /**
     * 获取01 部署 03 升级 05 卸载
     *
     * @return status - 01 部署 03 升级 05 卸载
     */
    public String getStatus() {
        return status;
    }

    /**
     * 设置01 部署 03 升级 05 卸载
     *
     * @param status 01 部署 03 升级 05 卸载
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * 获取web3j生成的Java文件类名
     *
     * @return classname - web3j生成的Java文件类名
     */
    public String getClassname() {
        return classname;
    }

    /**
     * 设置web3j生成的Java文件类名
     *
     * @param classname web3j生成的Java文件类名
     */
    public void setClassname(String classname) {
        this.classname = classname;
    }

    /**
     * 获取智能合约拥有者的账户keystore文件路径
     *
     * @return credentialspath - 智能合约拥有者的账户keystore文件路径
     */
    public String getCredentialspath() {
        return credentialspath;
    }

    /**
     * 设置智能合约拥有者的账户keystore文件路径
     *
     * @param credentialspath 智能合约拥有者的账户keystore文件路径
     */
    public void setCredentialspath(String credentialspath) {
        this.credentialspath = credentialspath;
    }
}